'\" t
.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH mq_close 3 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
mq_close \- close a message queue descriptor
.SH LIBRARY
Real-time library
.RI ( librt ", " \-lrt )
.SH SYNOPSIS
.nf
.B #include <mqueue.h>
.P
.BI "int mq_close(mqd_t " mqdes );
.fi
.SH DESCRIPTION
.BR mq_close ()
closes the message queue descriptor
.IR mqdes .
.P
If the calling process has attached a notification request (see
.BR mq_notify (3))
to this message queue via
.IR mqdes ,
then this request is removed,
and another process can now attach a notification request.
.SH RETURN VALUE
On success
.BR mq_close ()
returns 0; on error, \-1 is returned, with
.I errno
set to indicate the error.
.SH ERRORS
.TP
.B EBADF
The message queue descriptor specified in
.I mqdes
is invalid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR mq_close ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH NOTES
All open message queues are automatically closed on process termination,
or upon
.BR execve (2).
.SH SEE ALSO
.BR mq_getattr (3),
.BR mq_notify (3),
.BR mq_open (3),
.BR mq_receive (3),
.BR mq_send (3),
.BR mq_unlink (3),
.BR mq_overview (7)
